SQL Serverの一時テーブル
一時テーブルはtempdbに格納されます。一時テーブルには、ローカル一時テーブルとグローバル一時テーブルの2種類があります。この2種類の一時テーブルでは、名前、表示設定、および可用性が異なります。ローカル一時テーブルは、名前の最初の文字として1つのシャープ記号(#)を持ちます。これらは、ユーザーの現在の接続に対してのみ表示され、ユーザーがSQL Serverのインスタンスから切断すると削除されます。グローバル一時テーブルには、名前の最初の文字として2つのシャープ記号(##)があります。これらは、作成後にすべてのユーザーに表示され、テーブルを参照しているすべてのユーザーがSQL Serverのインスタンスから切断すると削除されます。 こんな風に作る
code:sql
create table #ITEMS(id int, item nvarchar(8), created_at datetime2); insert
values (1, 'Apple', sysdatetime())
, (2, 'Banana', sysdatetime())
, (3, 'Orange', sysdatetime())
, (4, 'Soy', sysdatetime())
, (5, 'Rice', sysdatetime())
, (6, 'Fish', sysdatetime())
;
code:sql
insert into #ITEMS values (1, 'Apple', sysdatetime()); insert into #ITEMS values (2, 'Banana', sysdatetime()); insert into #ITEMS values (3, 'Orange', sysdatetime()); insert into #ITEMS values (4, 'Soy', sysdatetime()); insert into #ITEMS values (5, 'Rice', sysdatetime()); insert into #ITEMS values (6, 'Fish', sysdatetime());